// pages/bargain/bargain.js

//获取app实例
const app = getApp();
var utils = require("../../utils/util.js");

Page({

  /**
   * 页面的初始数据
   */
  data: {
    noData: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onShow: function () {
    let a = [];
    this.init();
  },

  // 获取数据
  init(cb) {
    wx.showLoading({ title: '加载中...' })
    wx.request({
      url: app.baseURL + 'Bargain&a=index',
      success: (res) => {
        if (res.statusCode == 200) {
          // 初始化商品数据
          let list = res.data.act_info;
          this.setData({
            noData: !list.length
          })
          list.forEach((item, index) => {
            // 显示剩余时间
            item.remainingTime = '还剩' + utils.countDown(item.sy_time);
            // 判断当前参与的人数最多显示6个
            item.avatar.length > 6 && (item.avatar.length = 6);
          });
          this.setData({ bargainList: list });

          // 活动剩余时间倒计时
          this.countFun = setInterval(() => {
            let obj = {};
            list.forEach((item, index) => {
              const changeItem = 'bargainList[' + index + '].remainingTime';
              // 合并对象
              Object.assign(obj, {
                [changeItem]: '还剩' + utils.countDown(item.sy_time)
              });
              // 时间到了清除定时器
              item.sy_time--;
              item.sy_time < 0 && clearInterval(this.countFun);
            });
            this.setData(obj);
          }, 1000);
          wx.hideLoading();
          // 如果有回调执行回调
          typeof cb == 'function' && cb();
        }
      },
      fail: function (res) {
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none'
        });
      }
    })
  },

  // 跳转详情页面
  tapDetails(e) {
    if (!app.globalData.userId) { app.toLogin(); return }
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '/pages/bargainDetails/bargainDetails?act_id='+ id
    })
  },

  // 下拉刷新
  onPullDownRefresh(){
    this.init(wx.stopPullDownRefresh());
  },

  onHide() {
    clearInterval(this.countFun);
  }

})